// Problem: 
// Contest: 
// URL: 
// Memory Limit: 
// Time Limit: 
// #pragma GCC optimize("Ofast")
// #pragma GCC optimize("unroll-loops")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read(){
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
	while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
	return s*w;
}
signed main()
{
	int n;
	cin>>n;
	unordered_map<string,int> m;
	while(n--)
	{
		int c;
		string name;
		cin>>c;
		if(c==1)
		{
			cin>>name;
			int z;
			cin>>z;
			m[name]=z;
			cout<<"OK"<<endl;
		}
		else if(c==2)
		{
			cin>>name;
			if(m.find(name)!=m.end())cout<<m[name]<<endl;
			else cout<<"Not found"<<endl;
		}
		else if(c==3)
		{
			cin>>name;
			if(m.find(name)!=m.end())
			{
				m.erase(name);
				cout<<"Deleted successfully"<<endl;
			}
			else cout<<"Not found"<<endl;
		}
		else
		{
			cout<<m.size()<<endl;
		}
	}
	return 0;
}
